#pragma once
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.

typedef enum DUTIL_SOURCE
{
    DUTIL_SOURCE_UNKNOWN,
    DUTIL_SOURCE_ACLUTIL,
    DUTIL_SOURCE_APPUTIL,
    DUTIL_SOURCE_APUPUTIL,
    DUTIL_SOURCE_ATOMUTIL,
    DUTIL_SOURCE_BUFFUTIL,
    DUTIL_SOURCE_BUTIL,
    DUTIL_SOURCE_CABCUTIL,
    DUTIL_SOURCE_CABUTIL,
    DUTIL_SOURCE_CERTUTIL,
    DUTIL_SOURCE_CONUTIL,
    DUTIL_SOURCE_CRYPUTIL,
    DUTIL_SOURCE_DEPUTIL,
    DUTIL_SOURCE_DICTUTIL,
    DUTIL_SOURCE_DIRUTIL,
    DUTIL_SOURCE_DLUTIL,
    DUTIL_SOURCE_DPIUTIL,
    DUTIL_SOURCE_DUTIL,
    DUTIL_SOURCE_ESEUTIL,
    DUTIL_SOURCE_FILEUTIL,
    DUTIL_SOURCE_GDIPUTIL,
    DUTIL_SOURCE_GUIDUTIL,
    DUTIL_SOURCE_IIS7UTIL,
    DUTIL_SOURCE_INETUTIL,
    DUTIL_SOURCE_INIUTIL,
    DUTIL_SOURCE_JSONUTIL,
    DUTIL_SOURCE_LOCUTIL,
    DUTIL_SOURCE_LOGUTIL,
    DUTIL_SOURCE_MEMUTIL,
    DUTIL_SOURCE_METAUTIL,
    DUTIL_SOURCE_MONUTIL,
    DUTIL_SOURCE_OSUTIL,
    DUTIL_SOURCE_PATHUTIL,
    DUTIL_SOURCE_PERFUTIL,
    DUTIL_SOURCE_PIPEUTIL,
    DUTIL_SOURCE_POLCUTIL,
    DUTIL_SOURCE_PROCUTIL,
    DUTIL_SOURCE_REGUTIL,
    DUTIL_SOURCE_RESRUTIL,
    DUTIL_SOURCE_RESWUTIL,
    DUTIL_SOURCE_REXUTIL,
    DUTIL_SOURCE_RMUTIL,
    DUTIL_SOURCE_RSSUTIL,
    DUTIL_SOURCE_SCEUTIL,
    DUTIL_SOURCE_SCZUTIL,
    DUTIL_SOURCE_SHELUTIL,
    DUTIL_SOURCE_SQLUTIL,
    DUTIL_SOURCE_SRPUTIL,
    DUTIL_SOURCE_STRUTIL,
    DUTIL_SOURCE_SVCUTIL,
    DUTIL_SOURCE_THMUTIL,
    DUTIL_SOURCE_TIMEUTIL,
    DUTIL_SOURCE_UNCUTIL,
    DUTIL_SOURCE_URIUTIL,
    DUTIL_SOURCE_USERUTIL,
    DUTIL_SOURCE_WIUTIL,
    DUTIL_SOURCE_WUAUTIL,
    DUTIL_SOURCE_XMLUTIL,
    DUTIL_SOURCE_VERUTIL,
    DUTIL_SOURCE_WNDUTIL,
    DUTIL_SOURCE_ENVUTIL,
    DUTIL_SOURCE_THRDUTIL,
    DUTIL_SOURCE_QUEUTIL,

    DUTIL_SOURCE_EXTERNAL = 256,
} DUTIL_SOURCE;

typedef enum REPORT_LEVEL
{
    REPORT_NONE,      // turns off report (only valid for XXXSetLevel())
    REPORT_WARNING,   // written if want only warnings or reporting is on in general
    REPORT_STANDARD,  // written if reporting is on
    REPORT_VERBOSE,   // written only if verbose reporting is on
    REPORT_DEBUG,     // reporting useful when debugging code
    REPORT_ERROR,     // always gets reported, but can never be specified
} REPORT_LEVEL;
